// 1. 将下面的异步代码使用Promise的方式改进
setTimeout(function() {
  var a = 'hello';
  setTimeout(function() {
    var b = 'lagou';
    setTimeout(function() {
      var c = 'i love u';
      console.log(a + b + c);
    }, 10);
  }, 10);
}, 10);

// 答案：
let timer = function(str) {
  return new Promise(function(resolve, reject) {
    setTimeout(() => {
      resolve(str);
    }, 2000);
  });
}
const A = 'hello';
const B = 'lagou';
const C = 'i love u';

timer(A).then(value1 => {
  timer(value1 + B).then(value2 => {
    timer(value2 + C).then(value => {
      console.log(value);
    })
  })
})